Computer printers are often incapable of printing on certain regions of a page because of physical limitations such as paper handling. For example, Hewlett-Packard's DeskJet printer cannot print on the bottom 0.5-inch of a standard 8.5.times.11-inches sheet of paper. Accordingly, the DeskJet printer recognizes, on such a standard-size page, a printable region having a vertical dimension of 10.5-inches.
A user, however, often desires to print data in the unprintable regions. For example, a format of 66-lines per page and a spacing of 6-lines per inch is often mandated by various software applications. However, if the user sends a page to be printed with that format to the printer because of an unprintable region, the bottom lines of the text may be lost, dropped off or printed on the subsequent page.
To solve this problem, a printer's line spacing may be changed so that more lines per inch may be printed. Setting a line spacing to 6.5-lines per inch would allow 66 text lines to be printed within a printable region having a vertical dimension of 10.5-inches. For printers such as the DeskJet, this is a partial solution to the problem.
However, changing the line spacing is not a complete solution because it would only work where a printer advances the page on which the text is to be printed by line feed commands. If the software used in conjunction with the printer employs features such as absolute vertical moves, relative vertical moves or a vertical motion index, then changing the line spacing will cause the text characters positioned by such features to be misaligned.
For example, a feature such as an absolute vertical move positions a character on a page by an address identifying that character's position relative to the page size, not by line feed commands. Accordingly, irrespective of the line spacing, the printer will print the character at its address. If the line spacing has been changed, that position may be occupied by another character or misaligned in relation to other characters. In short, the character will not be positioned properly in the vertical direction.
This invention addresses the problem of nonprintable regions and overcomes the limitations of the prior art by providing a text scaling method which vertically repositions previously formatted text characters on a page without affecting the operability of software features such as absolute vertical moves.
As is implied by what has just been said, the method of the invention is specifically focused on repositioning text. Data relative to the printing of graphics is distinguished, and in no way altered, vis-a-vis repositioning, inasmuch as the kind of repositioning performed for text characters could result in significant, undesired distortion of graphics features.